Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bugfix: CIFuzz fail due to timeout on FuzzReadExperimentFile #4876

Merged
merged 5 commits into from
Oct 11, 2024

Conversation

sypark9646
Copy link
Contributor

  • Since we're testing for non-existent files in our unit tests, we'll skip the unnecessary tests.

Proposed changes

delete redundant code in FuzzReadExperimentFile: We are testing for a file that doesn't exist in our unit test.

If the timeout is consistently over 25 seconds, we want to delete FuzzReadExperimentFile test case.

Types of changes

What types of changes does your code introduce to Litmus? Put an x in the boxes that apply

  • New feature (non-breaking change which adds functionality)
  • Bugfix (non-breaking change which fixes an issue)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update (if none of the other choices applies)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • I have read the CONTRIBUTING doc
  • I have signed the commit for DCO to be passed.
  • Lint and unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works (if appropriate)
  • I have added necessary documentation (if appropriate)

Dependency

Special notes for your reviewer:

  • Currently, the following commands are used when running CIFuzz
    • /github/workspace/build-out/FuzzReadExperimentFile -timeout=25 -rss_limit_mb=2560 -len_control=0 -seed=1337 -artifact_prefix=/tmp/tmprxp861gc/ -max_total_time=4 -print_final_stats=1 /github/workspace/cifuzz-corpus/FuzzReadExperimentFile >fuzz-3.log 2>&1
    • timeout value is currently set to 25
  • The FuzzReadExperimentFile function has a common timeout (37s) that sometimes causes the CIFuzz to not pass.

* Since we're testing for non-existent files in our unit tests, we'll skip the unnecessary tests.

Signed-off-by: Soyeon Park <sypark9646@gmail.com>
@namkyu1999
Copy link
Member

can you check a build-pipeline?

* Deleting test cases due to timeouts

Signed-off-by: Soyeon Park <sypark9646@gmail.com>
@sypark9646
Copy link
Contributor Author

@namkyu1999 I've removed the FuzzReadExperimentFile testcase because it was consistently timing out, thank you.

@namkyu1999
Copy link
Member

namkyu1999 commented Sep 12, 2024

Can you also fix the existing failure cases @sypark9646 ?

@sypark9646
Copy link
Contributor Author

sypark9646 commented Sep 12, 2024

Okay, I'll get started on this.
When I checked, the FuzzProcessExperimentRunDelete function also timed out.

Also, the following error occurred in the FuzzTestGetEnvironment function. I'm not sure, but the other bug that's happening intermittently right now seems to be a bug in the libFuzzer we're using.

/github/workspace/build-out/FuzzTestGetEnvironment -timeout=25 -rss_limit_mb=2560 -len_control=0 -seed=1337 -artifact_prefix=/tmp/tmp0k7_f226/ -max_total_time=4 -print_final_stats=1 /github/workspace/cifuzz-corpus/FuzzTestGetEnvironment >fuzz-3.log 2>&1
================== Job 3 exited with exit code 77 ============
INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed: 1337
AddressSanitizer:DEADLYSIGNAL
=================================================================
==881==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x56439db9d850 bp 0x7ffff020cb90 sp 0x7ffff020cb60 T0)
==881==The signal is caused by a READ memory access.
==881==Hint: address points to the zero page.
SCARINESS: 10 (null-deref)
    #0 0x56439db9d850 in operator() /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp:413:11
    #1 0x56439db9d850 in IterateCounterRegions<(lambda at /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp:412:25)> /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerTracePC.h:165:9
    #2 0x56439db9d850 in fuzzer::TracePC::ClearInlineCounters() /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp:412:3
    #3 0x56439db82223 in ResetMaps /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerTracePC.h:87:5
    #4 0x56439db82223 in fuzzer::Fuzzer::Fuzzer(int (*)(unsigned char const*, unsigned long), fuzzer::InputCorpus&, fuzzer::MutationDispatcher&, fuzzer::FuzzingOptions const&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:145:7
    #5 0x56439db73d13 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:815:17
    #6 0x56439dba0af2 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10
    #7 0x7f8b5f1f5082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 0702430aef5fa3dda43986563e9ffcc47efbd75e)

DEDUP_TOKEN: operator()--IterateCounterRegions<(lambda at /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp:412:25)>--fuzzer::TracePC::ClearInlineCounters()
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp:413:11 in operator()
==881==ABORTING
stat::number_of_executed_units: 0
stat::average_exec_per_sec:     0
stat::new_units_added:          0
stat::slowest_unit_time_sec:    0
stat::peak_rss_mb:              41

@Saranya-jena Saranya-jena merged commit b719682 into litmuschaos:master Oct 11, 2024
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging this pull request may close these issues.

4 participants